package cn.iocoder.yudao.module.biz.controller.admin.risk.riskInfo.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
* 风险数据 Base VO，提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段，请不要添加到这里，影响 Swagger 文档生成
*/
@Data
public class BizRiskInfoBaseVO {

    @ApiModelProperty(value = "风险点名称")
    private String riskPoint;

    @ApiModelProperty(value = "风险点编号")
    private String riskPointNumber;

    @ApiModelProperty(value = "风险点类型id,风险点类型表")
    private String riskPointTypeId;

    @ApiModelProperty(value = "所属单位id")
    private String companyId;

    @ApiModelProperty(value = "所属部门id")
    private String departmentId;

    @ApiModelProperty(value = "区域场所")
    private String regionSite;

    @ApiModelProperty(value = "风险辨识时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date identificatDate;

    @ApiModelProperty(value = "照片地址")
    private String imgPath;

    @ApiModelProperty(value = "备注")
    private String remarks;

    @ApiModelProperty(value = "危险源编号")
    private String hazardNo;

    @ApiModelProperty(value = "危险源")
    private String hazardSource;

    @ApiModelProperty(value = "危险因素类别id,字典表")
    private Integer riskFactorId;

    @ApiModelProperty(value = "危险因素")
    private String riskFactor;

    @ApiModelProperty(value = "危险源时态id,字典表")
    private Integer hazardTenseId;

    @ApiModelProperty(value = "危险类型id,字典表")
    private Integer hazardTypeId;

    @ApiModelProperty(value = "涉及相关方")
    private String involveRelevant;

    @ApiModelProperty(value = "危险触发条件")
    private String hazardTrigger;

    @ApiModelProperty(value = "可能导致后果")
    private String consequence;

    @ApiModelProperty(value = "事故类型id,字典表")
    private Integer accidentTypeId;

    @ApiModelProperty(value = "判断依据id")
    private String judgeBasisId;

    @ApiModelProperty(value = "判断依据详细")
    private String judgeDetail;

    @ApiModelProperty(value = "风险系数")
    private Double riskCoefficient;

    @ApiModelProperty(value = "风险等级")
    private String riskLevel;

    @ApiModelProperty(value = "危险源分类id,字典表")
    private Integer hazardClassId;

    @ApiModelProperty(value = "责任单位id")
    private String responsibleId;

    @ApiModelProperty(value = "直接责任人id")
    private Long directPersonId;

    @ApiModelProperty(value = "分管责任人id")
    private String chargePersonId;

    @ApiModelProperty(value = "管控层级")
    private Integer controlLevelId;

    @ApiModelProperty(value = "职责要求")
    private String responseRequier;

    @ApiModelProperty(value = "控制时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private Date controlDate;

    @ApiModelProperty(value = "有效性")
    private String effectiveness;

    @ApiModelProperty(value = "是否制定预案,0否,1是")
    private Integer isPlan;

    @ApiModelProperty(value = "控制措施")
    private String controlMeasures;

    @ApiModelProperty(value = "应急预案")
    private String emergencyPlan;

    @ApiModelProperty(value = "附件地址")
    private String enclosurePath;

    @ApiModelProperty(value = "风险类型id")
    private String riskTypeId;

    @ApiModelProperty(value = "风险类型")
    private Integer riskType;

    @ApiModelProperty(value = "作业活动类型id,字典表")
    private Integer jobActivityType;

    @ApiModelProperty(value = "作业内容")
    private String jobContent;

    @ApiModelProperty(value = "警示标志id")
    private String warningSignId;

    @ApiModelProperty(value = "租户编号")
    private String tenantId;

    @ApiModelProperty(value = "责任人名称")
    private String directPersonName;

}
